package com.shopping.impl;

import java.util.ArrayList;
import java.util.Iterator;

import com.shopping.vo.CartItem;

public class ShoppingCart {
	private ArrayList<CartItem> cart;

	public ShoppingCart() {
		cart = new ArrayList<CartItem>();
	}

	public void addCartItem(CartItem item) {
		CartItem oldItem = null;
		if (item != null) {
			for (int i = 0; i < cart.size(); i++) {
				oldItem = cart.get(i);
				if (oldItem.getId().equals(item.getId())) {
					oldItem.setQuantity(oldItem.getQuantity()
							+ item.getQuantity());
					return;
				}
			}
		}
		cart.add(item);
	}

	public boolean removeCartItem(String id) {
		CartItem oldItem = null;
		if (id != null) {
			for (int i = 0; i < cart.size(); i++) {
				oldItem = cart.get(i);
				if (oldItem.getId().equals(id)) {
					cart.remove(id);
					return true;
				}
			}
		}
		return false;

	}

	public double getTotal() {
		Iterator<CartItem> it = cart.iterator();
		double sum = 0.0;
		CartItem item = null;
		while (it.hasNext()) {
			item = it.next();
			sum = sum + item.getSum();
		}
		return sum;
	}

	public ArrayList<CartItem> getCart() {
		return cart;
	}
}
